#include <vector>
using namespace std;
class TNode
{
public:
	TNode(char type, int content, int line);
	TNode(char type, int content, int line,TNode* parent,vector<TNode*> children,TNode* left,TNode* right);
	~TNode();

	char type;
	int content;
	TNode* parent;
	vector<TNode*> children;
	TNode* left;
	TNode* right;
	int line;

	void makeLeft(TNode* left);
	void makeRight(TNode* right);
	void makeChild(TNode* child);
	TNode* getParent(TNode* child);
	vector<TNode*> getChildren(TNode* parent);
	TNode* getLeftSibling(TNode* node);
	TNode* getRightSibling(TNode* node);
};